The present invention generally relates to communications systems and, more particularly, to carrier recovery in a communications system.
A carrier recovery loop, or carrier tracking loop, is a typical component of a communications system. The carrier recovery loop is a form of phase locked loop (PLL). In a digital carrier recovery loop, a decision-directed error estimator is often used to drive the PLL. In other words, the loop is driven by hard decisions, e.g., phase errors between respective received signal points and sliced symbols (nearest symbols) taken from the symbol constellation. When the carrier frequency offset, i.e., the frequency difference between the carrier of the received signal and the recovered carrier, is outside the “lock range” of the loop, the so-called “pull-in” process occurs, in which, under proper operating conditions, the loop operates to reduce the carrier frequency offset until the carrier frequency offset falls inside the lock range of the loop and phase lock follows.
For the correct pull-in process to take place, it is necessary that the output signal of the error estimator have a bias such that an integrator of the PLL drifts in the desired direction, i.e., a direction that reduces the carrier frequency offset. Unfortunately, there will be instances when the aforementioned bias will have an incorrect sign (because of excessive delay through the loop, errors associated with fixed point arithmetic, etc.), which, over time, will result in the loop either drifting without any predictable pattern or stabilizing at a false value (a “false-lock” condition). To combat this problem it is common to increase the precision of the arithmetic operations performed in the loop and/or to increase the loop gain. However, when the root cause of the problem lies in the pipeline delay through the loop and when such delay is necessitated by the system architecture and, thus, is unchangeable, the only option commonly available is to try and reduce the effective carrier frequency offset presented at an input to the loop such that the delay through the loop is no longer harmful. This can be done by sub-dividing the overall carrier frequency offset range into smaller ranges though which the loop can be “stepped”. However, the latter solution unavoidably increases the overall loop acquisition time and may not even be feasible if no reliable loop lock criterion exists to control the stepping algorithm.